Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
In conventional NAND flash memory, flash cells are organized into pages and pages are organized into blocks. Conventional NAND flash memory has some design limitations, such as having to write an entire page of cells to write a single flash cell. Further, if any of the flash cells in the page have previously been written, those flash cells have to be erased prior to writing. To erase those flash cells the entire block of pages containing those flash cells also has to be erased.
In part to address these design limitations, writing to flash cells of NAND flash memory often involves copying data from every page of cells within a block to a buffer, erasing the entire block, modifying the data associated with the flash cells in the buffer, and writing every page of cells within the block. This does not permit good data throughput in many situations, especially those using random writes. A random write is a write of data to any randomly chosen location within the flash memory and often involves no more than a few bytes of data.